export interface UserInfo {
  permissions: string[]
  roles: string[]
  user: User
}

export interface User {
  createBy: string
  createTime: string
  updateBy: string
  updateTime: string
  remark: string
  params: Params
  userId: number
  deptId: number
  userName: string
  nickName: string
  email: string
  phonenumber: string
  contactPhonenumber: string
  contactName: string
  address: string
  idCard: string
  sex: string
  age: number
  avatar: string
  password: string
  status: string
  delFlag: string
  loginIp: string
  loginDate: string
  dept: Dept
  roles: Role[]
  roleIds: string
  postIds: string
  roleId: string
  admin: boolean
}

export interface Params {
  '@type': string
}

export interface Dept {
  createBy: string
  createTime: string
  updateBy: string
  updateTime: string
  remark: string
  params: Params2
  deptId: number
  parentId: number
  ancestors: string
  deptName: string
  orderNum: number
  leader: string
  phone: string
  email: string
  status: string
  delFlag: string
  parentName: string
  children: string[]
}

export interface Params2 {
  '@type': string
}

export interface Role {
  createBy: string
  createTime: string
  updateBy: string
  updateTime: string
  remark: string
  params: Params3
  roleId: number
  roleName: string
  roleKey: string
  roleSort: number
  dataScope: string
  menuCheckStrictly: boolean
  deptCheckStrictly: boolean
  status: string
  delFlag: string
  flag: boolean
  menuIds: string
  deptIds: string
  permissions: string
  admin: boolean
}

export interface Params3 {
  '@type': string
}
